for i in range(len(df_list)):  # i=0,1,2 分别对应第1、2、3分店
    df_temp = df_list[i]  # 提取当前分店的数据（如i=0时是第1分店）

    # 数据清洗1：删除“数量”列有缺失值的行
    df_temp.dropna(axis=0, subset=['数量'], inplace=True)
    # 解释：
    # - dropna：删除缺失值（NaN）
    # - axis=0：按行删除（如果某行的“数量”是缺失值，就删掉这一行）
    # - subset=['数量']：只检查“数量”列的缺失值（其他列缺失不影响）
    # - inplace=True：直接在原表格上修改（不创建新表格）

    # 数据清洗2：删除完全重复的行
    df_temp.drop_duplicates(inplace=True)
    # 解释：如果表格中存在完全一样的行（可能是录入错误重复），就只保留一行。

    # 按季度分组，计算销售额总和
    df_temp = df_temp.groupby('季度').agg('sum')
    # 解释：
    # - groupby('季度')：按“季度”列的值（如1、2、3、4）分组，将同一季度的行归为一组。
    # - agg('sum')：对每组内的数值列（如“销售额（万元）”“数量”）求和。
    # 结果：得到一个新表格，索引是季度（1-4），列是各数值列的总和（我们只需要“销售额”）。

    # 准备x轴和y轴数据
    x = df_temp.index  # x轴：季度（1、2、3、4）
    height = df_temp['销售额（万元）']  # y轴：对应季度的销售额总和

    # 绘制柱状图（核心！）
    plt.bar(x + width * i, height, width)
    # 关键逻辑：通过x轴偏移实现“分组并排”
    # - 第1分店（i=0）：x坐标 = 季度 + 0.3*0 → 1,2,3,4
    # - 第2分店（i=1）：x坐标 = 季度 + 0.3*1 → 1.3,2.3,3.3,4.3
    # - 第3分店（i=2）：x坐标 = 季度 + 0.3*2 → 1.6,2.6,3.6,4.6
    # 这样3个分店的柱子在同一季度并排显示，不重叠。
'''